package ru.bank.paymentprocessing.model;

/**
 * Перечисление типов платежей.
 */
public enum PaymentType {
    SHOP, // Магазин
    ONLINE; // Онлайн Покупки

    /**
     * Метод для получения типа платежа из строки.
     *
     * @param text строковое представление типа платежа
     * @return соответствующий тип платежа
     * @throws IllegalArgumentException если указано недопустимое значение
     */
    public static PaymentType fromString(String text) {
        for (var paymentType : PaymentType.values()) {
            if (paymentType.name().equalsIgnoreCase(text)) {
                return paymentType;
            }
        }
        throw new IllegalArgumentException("Недопустимое значение для PaymentType: " + text);
    }
}
